package com.heima.leetcode.datastructure.queue;

import com.heima.datastructure.queue.ArrayQueue2;

/**
 * <h3>用一个队列模拟一个栈 225</h3>
 * @author 勾新杰
 * @version 1.0
 * @date 2024/9/1 20:39
 */
public class SimulateStackWithQueue {
    // 每次入队的时候，把前面的元素全部依次poll出来再offer到队尾
    ArrayQueue2<Integer> queue = new ArrayQueue2<>(100); // 题目中最多100次压栈
    public void push(int x) {
        queue.offer(x);
        for (int i = 0; i < queue.size() - 1; i++) {
            queue.offer(queue.poll());
        }
    }

    public int pop() {
        return queue.poll();
    }

    public int top() {
        return queue.peek();
    }

    public boolean empty() {
        return queue.isEmpty();
    }
}
